System and method for synching portable media player content with storage space optimization

ABSTRACT

A device is provided for use with a content provider that is operable to provide content, which includes a plurality of content components. The device includes a communication portion, a memory portion, a parsing portion, a counting portion and a processing portion. The communication portion can receive the content from the content provider. The parsing portion can parse the content into the plurality of content components and can store the parsed plurality of content components within the memory portion. The counting portion can provide a counter for each of the parsed plurality of content components within the memory portion, respectively. The processing portion can retrieve and process one of the parsed plurality of content components within the memory portion. The counting portion can further increment the counter associated with the retrieved one of the parsed plurality of content components within the memory portion.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of a U.S. patent application Ser. No.12/847,035, filed Jul. 30, 2010, which is hereby incorporated byreference herein in its entirety.

BACKGROUND

With the advent of Digital TV (DTV), the Digital Video Recorder (DVR)and media delivery systems like Internet Protocol TV (IP-TV), andvideo-on-demand (VOD); viewing content has become very flexible. A usermay record a show and watch it later at his convenience. Current DVRscome with large enough storage to store several hours of content.

However, users want to be able to enjoy media content on the move.Portable Media Player (PMP) support for consumer premises equipment(CPE) like DVRs and digital set-top-boxes (STB) allows for mobileviewing of media content. With this feature, users can connect a PMP toa CPE and can choose the content to be transferred to the PMP to beviewed at later instance. Transferring content from a CPE to a PMP mayinclude determining specific viewing or copying rights, authenticatingsuch rights, encrypting/decrypting the content and so on. Suchtransferring may be referred to as synchronizing or syncing. In use, auser will select content to be transferred to the PMP and the CPE willsync the entire transport stream (TS) associated with that content. Theuser may then select the content to be displayed on the PMP.

FIG. 1 illustrates an example conventional content distribution systemcapable of delivering media content from a service provider to an enduser.

As illustrated in the figure, content distribution system 100 includes acontent distributor 102, a service provider 104, a third party portal106 and a user premises 108. User premises 108 includes CPE 110 and aPMP 112.

Content distributor 102 is capable of transmitting media content toservice provider 104 by way of a signal 114. Third party portal 106 iscapable of transmitting media content to service provider 104 by way ofa signal 116. Service provider 104 is capable of transmitting mediacontent to CPE 110 of user premises 108 by way of a signal 118. CPE 110is capable of transmitting media content to PMP 112 by way of a signal120.

In operation, service provider 104 receives media content by way ofsignal 114 from content distributor 102 or by way of signal 116 fromthird party portal 106. Service provider then transmits the mediacontent to CPE 110 by way of signal 118. A user may also decide totransfer media content to PMP 112 by way of signal 120. Some types ofmedia content require a large amount of memory for storage on either CPE110 or PMP 112, requiring a user to frequently manage the media contentstored on PMP 112.

Several problems associated with this method of content transfer fromCPE to PMP will now be described.

If The PMP memory (not shown) becomes full the user is then prompted todelete old or specified content. It would be advantageous if thedeletion were done automatically. With the advent of huge contentrepository and management systems the content is becoming more dataintensive. It is not only the format of the content (like space hoggingHD video) but also content that may have a plurality of associatedinformation, non-limiting examples of which include different languageaudio, subtitles, camera angle, director's cut/special, commentary andalternative targeted content.

A user may ask to sync a content to PMP when the PMP may not have spaceto copy the new content. The user must then browse through the PMPinterface and specify distinct portions of content for deletion, one byone. This process may be time consuming and aggravating as the PMP userinterface is small and it may be difficult for the user to searchthrough the memory of the PMP.

A user may schedule recordings to record content from an CPE to a PMP.If the scheduled recording requires more memory than available on thePMP, then recording may fail.

When a DVR records a program, the DVR may record the entire transportstream (TS) associated with that program. Different components in the TSare identified with different program identification numbers (PIDs).When a user uses the DVR for playback, specific components of the TS canbe presented to the user based on user choice, non-limiting examples ofwhich include audio language and camera angle. The disadvantage ofrecording the entire TS is that the recording uses a large amount ofmemory. If the recording is transferred to a PMP, a large amount of PMPmemory will be used to store the recording even if there are componentsof the recording that may never be used on the PMP.

What is needed is a system and method for managing media content on aPMP based on user tendencies.

BRIEF SUMMARY

The present invention provides a system and method for managing mediacontent on a PMP based on user tendencies.

In accordance with an aspect of the present invention, a device isprovided for use by a content provider that is operable to providecontent, which includes a plurality of content components. The deviceincludes a communication portion, a memory portion, a parsing portion, acounting portion and a processing portion. The communication portion canreceive the content from the content provider. The parsing portion canparse the content into the plurality of content components and can storethe parsed plurality of content components within the memory portion.The counting portion can provide a counter for each of the parsedplurality of content components within the memory portion, respectively.The processing portion can retrieve and process one of the parsedplurality of content components within the memory portion. The countingportion can further increment the counter associated with the retrievedone of the parsed plurality of content components within the memoryportion.

Additional advantages and novel features of the invention are set forthin part in the description which follows, and in part will becomeapparent to those skilled in the art upon examination of the followingor may be learned by practice of the invention. The advantages of theinvention may be realized and attained by means of the instrumentalitiesand combinations particularly pointed out in the appended claims.

BRIEF SUMMARY OF THE DRAWINGS

The accompanying drawings, which are incorporated in and form a part ofthe specification, illustrate an exemplary embodiment of the presentinvention and, together with the description, serve to explain theprinciples of the invention. In the drawings:

FIG. 1 illustrates an example content distribution system;

FIG. 2 illustrates an example content distribution system in accordancewith an aspect of the present invention;

FIG. 3 illustrates an example CPE;

FIG. 4 illustrates an example PMP;

FIG. 5 illustrates an example method for a CPE to synchronize with a PMPin accordance with an aspect of the present invention;

FIG. 6 illustrates an example method for a PMP to synchronize with a CPEin accordance with an aspect of the present invention; and

FIG. 7 illustrates an example method for a PMP to synchronize with a CPEin accordance with an aspect of the present invention.

DETAILED DESCRIPTION

In one embodiment of the present invention, a user may view mediacontent on a PMP or consumer premises equipment (CPE). The media contentmay be divided into separate components identified by programidentification numbers (PIDs) including but not limited to differentvideo components, different audio components, and data components as inTable 1.

TABLE 1 Program->PID Component Program ID ID explanation 0x1234 0x0001Main video 0x0002 Main Audio 0x0003 Spanish audio 0x0004 Subtitle 0x0005Scene description metadata 0x0006 Targeted video 1 0x0007 Targeted audio1 0x0008 Camera close up video1 0x0009 Camera close up video2

The “Program ID” column in Table 1 indicates with which program thecontent is associated. In this example, there is only a single programidentified at 0x1234. The “Program->PID ID” column in Table 1 indicatesthe program identifiers for each component of content within theprogram. The “Component explanation” column in Table 1 provides anexplanation of each component within the program. In this example, theprogram has nine distinct components: a main video, a main audio, aSpanish audio, a subtitle, a scene description metadata, a targetedvideo 1, a targeted audio 1, a camera close up video 1 and a cameraclose up video 2.

When the media content is played back, not all of the PIDs are used atonce. For example, a user may decide to play media content on a PMP. Theuser may decide to watch the main video component (0x0001) with the mainaudio component (0x0002) and subtitles (0x0004). In this instance, onlythe components the user needs to watch are required for playback.

In one embodiment of the present invention, a PMP or CPE that is usedfor playback of media content will associate a play count with thecomponents of the media content that is played on the device. In oneexample, a user may playback content on a PMP as above. The PMP willthen examine the play count of the components of the media content andincrement the components that are viewed and decrement the componentsthat are not viewed. In this example, the user views components withPIDs 0x0001, 0x0002 and 0x0004 but not the other components. In thisexample, the user is viewing this content for the first time and theplay counts of all components are 0. In this example, once the userviews the media content, the PMP increments components with PIDs 0x0001,0x0002 and 0x0004 and decrements the components with PIDs 0x0003,0x0005, 0x0006, 0x0007, 0x0008 and 0x0009. In other examples, the PMPmay alternatively increments components that are played, but notdecrement components that are not played.

Over time, a user will view content several times and may choose to viewdifferent components each time the content is viewed. For purposes ofexplanation, presume that after a time period, the user will have viewedthe content several times such that play counts associated with thecomponents of the media content are as shown in Table 2.

TABLE 2 Program->PID Program->PID Component Program ID ID Playcountexplanation 0x1234 0x0001   6 Main video 0x0002   6 Main Audio 0x0003 −6Spanish audio 0x0004   6 Subtitle 0x0005 −6 Scene description metadata0x0006 −5 Targeted video 1 0x0007 −5 Targeted audio 1 0x0008 −3 Cameraclose up video1 0x0009 −3 Camera close up video2

Table 2 is similar to Table 1, but further includes a “Program->PIDPlaycount” column that indicates a playcount for each component ofcontent within the program. For example, in some embodiments, every timea component of content within the program is played, is it incrementedby a predetermined amount. In some embodiments, every time a componentof content within the program is played all other components of contentwithin the program that are not played are decremented by apredetermined amount. For purposes of explanation, in this example: theMain video, the Main audio and the subtitle components are played themost, thus receiving a playcount of 6; whereas the Spanish audio and theScene description metadata components are played the lest, thusreceiving a playcount of −6.

In one embodiment of the present invention, the PMP is operable tomanage its memory based on usage of media content on the PMP. The PMPmay examine the play counts associated with components of media contentto determine components that can be removed. In one example, a user maydecide to synchronize content between a PMP and a CPE. If more memory isneeded for synchronization between the PMP and a CPE, the PMP may removesome components of the content. In some embodiments, the PMP may removethe least used components of the content, i.e., the components havingthe lowest play count, on the device. In some embodiments, the PMP mayremove components of the content that are not played a predeterminednumber of times, i.e., the components having a play count below apredetermined threshold, on the device.

In this example, media content on the PMP is separated into componentswith play counts as in Table 2. When the PMP needs more memory whensynchronizing, the PMP will examine the play counts in the mediacontent. The PMP will then remove the components with the lowest playcounts, in this example, components with PIDs 0x0003 and 0x0005 will beremoved first. If this removal results in enough available memory forthe synchronization process, the PMP and CPE synchronize. If there isnot enough available memory, the PMP may again remove the components ofthe media content with the lowest play count. In this example, the nextcomponents to be removed would be the components with PIDs 0x0006 and0x0007.

An example system and method for efficiently synchronizing contentbetween CPE and a PMP in accordance with as aspect of the presentinvention will be described with reference to FIG. 2-7.

FIG. 2 illustrates an example content distribution system 200, inaccordance with an aspect of the present invention, which is capable ofdelivering media content from a service provider to an end user.

As illustrated in FIG. 2, content distribution system 200 includescontent distributor 102, service provider 104, third party portal 106and user premises 202. User premises 202 includes CPE 204 and PMP 206.

Content distributor 102 is capable of transmitting media content toservice provider 104 by way of signal 114. Third party portal 106 iscapable of transmitting media content to service provider 104 by way ofsignal 116. Service provider 104 is capable of transmitting mediacontent to CPE 204 of user premises 202 by way of signal 118. CPE 204 iscapable of transmitting media content to PMP 206 by way of a signal 208.

Signals 114, 116, 118 and 208 may be wired or wireless signals.Although, each of signals 114, 116, 118 and 208 are illustrated asdistinct signals, they all may share a predetermined frequency bandwithin a wireless medium. Signals typically embody computer-readableinstructions, data structures, program modules, or other data in amodulated data signal such as a carrier wave or other transportmechanism and include any information-delivery media. Non-limitingexamples of communications media, which may carry signals, include wiredmedia, such as wired networks and direct-wired connections, and wirelessmedia such as acoustic, radio, infrared, and other wireless media. Theterm “computer-readable media” as used herein includes both storagemedia and communications media.

In operation, service provider 104 receives media content by way ofsignal 114 from content distributor 102 or by way of signal 116 fromthird party portal 106. Service provider then transmits the mediacontent to CPE 204 by way of signal 118. A user may also decide totransfer media content to PMP 206 by way of signal 208. In accordancewith an aspect of the present invention, media content synchronizedbetween CPE 204 and PMP 206 may be reduced in size to allow for fastersynchronization or smaller memory required for storage.

FIG. 3 illustrates a detailed view of an example CPE 204 in accordancewith an aspect of the present invention.

As illustrated in FIG. 3, CPE 204 includes a communication portion 302,a processing portion 304, a memory 306, a security portion 308, aparsing portion 310 and a counting portion 312. In this example, each ofcommunication portion 302, processing portion 304, memory 306, securityportion 308, parsing portion 310 and counting portion 312 are distinctdevices. However, in other embodiments, at least two of communicationportion 302, processing portion 304, memory 306, security portion 308,parsing portion 310 and counting portion 312 may be combined as aunitary device. Further, in some embodiments at least one ofcommunication portion 302, processing portion 304, memory 306, securityportion 308, parsing portion 310 and counting portion 312 may beimplemented as computer-readable media for carrying or havingcomputer-executable instructions or data structures stored thereon. Suchcomputer-readable media can be any available media that can be accessedby a general purpose or special purpose computer. Non-limiting examplesof computer-readable media include physical storage and/or memory mediasuch as RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magneticdisk storage or other magnetic storage devices, or any other mediumwhich can be used to carry or store desired program code means in theform of computer-executable instructions or data structures and whichcan be accessed by a general purpose or special purpose computer. Wheninformation is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a computer, the computer properly views theconnection as a computer-readable medium. Thus, any such connection isproperly termed a computer-readable medium. Combinations of the aboveshould also be included within the scope of computer-readable media.

Communication portion 302 is capable of receiving input by way of asignal 314 and capable of transmitting output by way of a signal 316.Additionally, communication portion 302 is capable of exchanging datawith security portion 308 by way of a signal 324 and is capable ofexchanging data with processing portion 304 by way of a signal 320.Processing portion 304 is capable of outputting to a display by way of asignal 318. Additionally, processing portion 304 is capable ofcommunicating with memory 306 by way of a signal 322, is capable ofcommunicating with parsing portion 310 by way of a signal 328 and iscapable of communicating with counting portion 312 by way of a signal330. Memory portion 306 is capable of communicating with countingportion 312 by way of a signal 332. Security portion 308 is capable ofcommunicating with parsing portion 310 by way of a signal 326.

Signals 316, 318, 320, 322, 324, 326, 328, 330 and 332 may be wired orwireless signals. Although, each of signals 316, 318, 320, 322, 324,326, 328, 330 and 332 are illustrated as distinct signals, they all mayshare a predetermined frequency band within a wireless medium. Signalstypically embody computer-readable instructions, data structures,program modules, or other data in a modulated data signal such as acarrier wave or other transport mechanism and include anyinformation-delivery media. Non-limiting examples of communicationsmedia, which may carry signals, include wired media, such as wirednetworks and direct-wired connections, and wireless media such asacoustic, radio, infrared, and other wireless media.

Communication portion 302 is used to communicate with external devicessuch as PMP 206 through known protocols, non-limiting examples of whichinclude Wi-Fi and USB. Communication portion 302 may also communicatewith external media sources such as service provider 104 through knownprotocols, non-limiting examples of which include cable, satellite,fiber-optic communication.

Processing portion 304 is used for control of communication portion 302,memory 306, parsing portion 310 and counting portion 312. Processingportion 304 is also capable of outputting video to a display by way ofsignal 318 in known formats, non-limiting examples of which includeMPEG-1, MPEG-2 and MPEG-4.

Memory 306 is used for storage of media content and other information asrequired by CPE 204.

Security portion 308 is used manage the intellectual property rights(IPR) of the media content. Non-limiting examples of IPR may includerestrictions on the number of times that media content may be played,restrictions on the number of times that media content may be copied ortransferred, restrictions on devices that media content is allowed to becopied or transferred to, and restrictions on the length of time thatmedia content can be used from when it was first downloaded or firstviewed. Security portion 308 may manage the IPR of the media contentthrough use of encryption keys.

Parsing portion 310 is used to separate media content transferred to CPE204 into separate components. One example of the components of mediacontent is discussed above with reference to Table 1. The media contenthas multiple video components, multiple audio components and other data.For example, parsing portion 310 can separate components of mediacontent used for playback. A user may wish to view the main videocomponent with the Spanish audio component. Parsing portion 310separates the main video component and the Spanish audio component ofthe media content for playback.

Counting portion 312 is used to increment and decrement play countsassociated with components of the media content used by CPE 204. In oneembodiment of the present invention, when media content is played by CPE204, counting portion may increment portions of media content that areplayed and decrement portions of media content that are not played asdiscussed in the example above.

In one embodiment of the present invention, CPE 204 is capable ofreceiving media content as input signal 314. Communication portion 302receives input signal 314 and transmits the media content to securityportion 308 by way of signal 324. Security portion 308 decrypts themedia content and transmits the decrypted media content to parsingportion 310 by way of signal 326. Parsing portion 310 parses thedecrypted media content and transmits the parsed media content toprocessing portion 304 by way of signal 328. Parsing portion 310separates the media content into several pieces, non-limiting examplesinclude video, audio and metadata. Processing portion 304 sends theparsed media content to be stored in memory 306 by way of signal 322.

When a user requests playback on CPE 204, processing portion 304retrieves content from memory 306 by way of signal 322. Processingportion 304 then outputs the content to a display by way of signal 318.The media content being displayed may have more components than can beviewed at once, non-limiting examples of which include multiple videostreams, multiple audio streams and multiple camera angles. In oneembodiment of the present invention, the pieces of parsed media contentare each associated with a counter. When the media content is played byCPE 204, the counters associated with portions of the content that aredisplayed are incremented while the counters associated with portions ofthe content that are not displayed are decremented. In this embodiment,processing portion 304 signals counting portion 312 to increment ordecrement the counters associated with specific portions of mediacontent by way of signal 330. Counting portion 312 then increments ordecrements the counters associated with the media content in memory 306by way of signal 332.

Additionally, processing portion 304 may request media content frommemory 306 by way of signal 322 for output to another device. Processingportion 304 then outputs the media content to communication portion 302by way of signal 320. Communication portion 302 outputs the mediacontent by way of signal 316.

FIG. 4 illustrates a detailed view of PMP 206 in accordance with anaspect of the present invention.

As illustrated in FIG. 4, PMP 206 includes a communication portion 402,a processing portion 404, a memory 406, a security portion 408, aparsing portion 410 and a counting portion 412. In this example, each ofcommunication portion 402, processing portion 404, memory 406, securityportion 408, parsing portion 410 and counting portion 412 are distinctdevices. However, in other embodiments, at least two of communicationportion 402, processing portion 404, memory 406, security portion 408,parsing portion 410 and counting portion 412 may be combined as aunitary device. Further, in some embodiments at least one ofcommunication portion 402, processing portion 404, memory 406, securityportion 408, parsing portion 410 and counting portion 412 may beimplemented as computer-readable media for carrying or havingcomputer-executable instructions or data structures stored thereon.

Communication portion 402 is capable of receiving input by way of asignal 414 and capable of transmitting output by way of a signal 416.Additionally, communication portion 402 is capable of exchanging datawith security portion 408 by way of a signal 424 and capable ofexchanging data with processing portion 404 by way of a signal 420.Processing portion 404 is capable of outputting to a display (not shown)by way of a signal 418. Additionally, processing portion 404 is capableof communicating with memory 406 by way of a signal 422, is capable ofcommunicating with parsing portion 410 by way of a signal 428, and iscapable of communicating with counting portion 412 by way of a signal430. Memory portion 406 is capable of communicating with countingportion 412 by way of a signal 432. Security portion 408 is capable ofcommunicating with parsing portion 410 by way of a signal 426.Additionally, memory portion 406 of PMP 206 is smaller than memoryportion 306 of CPE 204.

Signals 414, 416, 418, 420, 422, 424, 426, 428, 430 and 432 may be wiredor wireless signals. Although, each of signals 414, 416, 418, 420, 422,424, 426, 428, 430 and 432 are illustrated as distinct signals, they allmay share a predetermined frequency band within a wireless medium.Signals typically embody computer-readable instructions, datastructures, program modules, or other data in a modulated data signalsuch as a carrier wave or other transport mechanism and include anyinformation-delivery media. Non-limiting examples of communicationsmedia, which may carry signals, include wired media, such as wirednetworks and direct-wired connections, and wireless media such asacoustic, radio, infrared, and other wireless media.

In one embodiment of the present invention, PMP 206 is capable ofreceiving media content as input signal 414. Communication portion 402receives input signal 414 and transmits the media content to securityportion 408 by way of signal 424. Security portion 408 decrypts themedia content and transmits the decrypted media content to parsingportion 410 by way of signal 426. Parsing portion 410 parses thedecrypted media content and transmits the parsed media content toprocessing portion 404 by way of signal 428. Parsing portion 410separates the media content into several pieces, non-limiting examplesof which include video, audio and metadata. Processing portion 404 sendsthe parsed media content to be stored in memory 406 by way of signal422.

When a user requests playback on PMP 206, processing portion 404retrieves content from memory 406 by way of signal 422. Processingportion 404 then outputs the content to a display by way of signal 418.The media content being displayed may have more components than can beviewed at once, non-limiting examples of which include multiple videostreams, multiple audio streams and multiple camera angles. In oneembodiment of the present invention, the pieces of parsed media contentare each associated with a counter. When the media content is played byPMP 206, the counters associated with portions of the content that aredisplayed are incremented while the counters associated with portions ofthe content that are not displayed are decremented. In this embodiment,processing portion 404 signals counting portion 412 to increment ordecrement the counters associated with specific portions of mediacontent by way of signal 430. Counting portion 412 then increments ordecrements the counters associated with the media content in memory 406by way of signal 432.

Additionally, processing portion 404 may request media content frommemory 406 by way of signal 422 for output to another device. Processingportion 404 then outputs the media content to communication portion 402by way of signal 420. Communication portion 402 outputs the mediacontent by way of signal 416.

Example methods of transfer of content between CPE 204 and PMP 206 willbe described with reference to FIG. 5-7.

FIG. 5 illustrates an example method 500 for CPE 204 to synchronize withPMP 206 in accordance with an aspect of the present invention.

To start (S502), CPE 204 obtains media content (S504) from serviceprovider 104. In one embodiment, processing portion 304 instructscommunication portion 302 to request content from service provider 104by way of signal 316. Service provider 104 then provides the requestedcontent by way of signal 314. In the event the provided content isencrypted, security portion 308 decrypts the content in accordance withthe IP rights associated with the content as provided by serviceprovider. The decrypted content is then provided to parsing portion 310.

The media content is then parsed into separate components (S506). Forpurposes of discussion, presume that CPE 204 downloads movie contentcorresponding to a movie titled “MOVIE.” Further, for purposes ofdiscussion, suppose MOVIE content includes a main video component, amain audio component, a Spanish audio component, a subtitle component,scene description metadata, a targeted video 1 component, a targetedaudio 1 component, a camera close up video 1 component and a cameraclose up video 2 component, for example as discussed above withreference to Table 1. At this point, processing portion 304 instructsparsing portion 310 to separate MOVIE content into its components.

A user may then play portions of content on CPE 204 (S508). As mentionedabove, a user may access components of MOVIE content for playback, forexample on a TV (not shown).

The portions of the content are then incremented and/or decremented(S510). In one embodiment, counting portion 312 increments countersassociated with the portions of the content that are played anddecrements the counters associated with the portions of the content thatare not played. In another embodiment, counting portion 312 incrementscounters associated with the portions of the content that are played anddoes not change the counters associated with the portions of the contentthat are not played.

It is then determined whether CPE 204 is to be synced with PMP 206(S512). If content is not to be synced, then the person may continue toplay portions of MOVIE content (S508).

If content is to be synced, it is then determine whether there aresufficient parameters for synchronization (S514). Non-limiting examplesof synchronization parameters include time required for synchronizationand memory available on PMP 206. For example, a user may be attemptingto sync all the components of MOVIE content from CPE 204 to PMP 206. Inthis example, presume that PMP 206 indicates that synchronizing all thecomponents of MOVIE will take 15 minutes and will require 12 gigabytesof storage within PMP 206. At that point, the user may determine that 15minutes is too long a wait. Similarly, PMP 206 may provide an indicationto user that memory portion 406 does not have 12 gigabytes of freestorage with which it may download all the components of MOVIE.

If the parameters for synchronization are met, PMP 206 downloads thecontent from CPE 204 (S518). For example, suppose that PMP 206 indicatesthat synchronizing all the components of MOVIE will take 15 minutes andwill require 12 gigabytes of storage within PMP 206. Further, supposethat the user does not mind waiting 15 minutes and that memory portion406 of PMP 206 has 12 gigabytes of free storage with which it maydownload all of the components of MOVIE. In such a case, in oneembodiment, processing portion 404 instructs communication portion 402to request content from CPE 204 by way of signal 416. CPE 204 thenprovides the requested MOVIE content by way of signal 414. In the eventthe provided content is encrypted, security portion 408 decrypts thecontent in accordance with the IP rights associated with the content asprovided by service provider. The decrypted content is then provided toparsing portion 410. At this point, processing portion 404 instructsparsing portion 410 to separate MOVIE content into its components.

The process then stops (S520) and the user may then view portions ofcontent on PMP 206.

If the parameters for synchronization are not met, portions of MOVIEcontent are removed from the syncing process (S516). In an exampleembodiment, the counters associated with different components of MOVIEcontent are checked and the portions that have the lowest count areremoved from the syncing process, e.g, they are not downloaded from CPE204 to PMP 206. If not enough content has been removed, the portionswith the next lowest counts are removed or deleted. The process ofremoving the portions of content with the lowest counts is repeateduntil the parameters for synchronization are met.

It is then again determined whether there are sufficient parameters forsynchronization (S514).

Then, PMP 206 downloads the content from CPE 204 (S518) and the processfinishes (S520).

The method described in FIG. 5 is drawn to synchronizing content fromCPE 204 to PMP 206, wherein if memory 406 of PMP 206 has insufficientspace to transfer all the content, some components of the content arenot transferred from memory 306 of CPE 204. In another example method,unused portions of stored content within memory 406 of PMP 206 may bedeleted to make room for downloading content from CPE 204. Such anexample method will be described with reference to FIG. 6.

FIG. 6 illustrates an example method 600 for PMP 206 to synchronize withCPE 204 in accordance with an aspect of the present invention.

Method 600 starts (S602) and PMP 204 obtains media content from CPE 204(S604). In one embodiment, processing portion 404 instructscommunication portion 402 to request content from CPE 204 by way ofsignal 416. CPE 204 then provides the requested content by way of signal414. In the event the provided content is encrypted, security portion408 decrypts the content in accordance with the IP rights associatedwith the content as provided by service provider. The decrypted contentis then provided to parsing portion 410.

The media content is then parsed into separate components, in a mannersimilar to that described above with reference to step S506 of method500 (S606). For purposes of discussion, presume that PMP 206 downloadsmovie content corresponding to a movie titled “MOVIE.” Further, forpurposes of discussion, suppose MOVIE content includes a main videocomponent, a main audio component, a Spanish audio component, a subtitlecomponent, scene description metadata, a targeted video 1 component, atargeted audio 1 component, a camera close up video 1 component and acamera close up video 2 component, for example as discussed above withreference to Table 1. At this point, processing portion 404 instructsparsing portion 410 to separate MOVIE content into its components.

A user may then play portions of content on PMP 206 (S608). As mentionedabove, a user may access components of MOVIE content for playback, forexample on a TV (not shown).

The portions of the content are then incremented and/or decremented in amanner similar to step S510 discussed above with reference to method 500(S610). In one embodiment, counting portion 412 increments countersassociated with the portions of the content that are played anddecrements the counters associated with the portions of the content thatare not played. In another embodiment, counting portion 412 incrementscounters associated with the portions of the content that are played anddoes not change the counters associated with the portions of the contentthat are not played.

It is then determined whether additional content is to be synchronizedonto PMP 206 from CPE 204 (S612). For example, the user may want to copysecond content.

If a user is not currently trying to synchronize content, then theperson may be able to continue to play portions of the content currentlyon PMP 206 (S608).

If a user is attempting to synchronize content, it is then determinedwhether there are sufficient parameters for synchronization (S614).Non-limiting examples of synchronization parameters include timerequired for synchronization and memory available on PMP 206. Forexample, for purposes of discussion, presume that user want tosynchronize, from CPE 204 onto PMP 206, another movie contentcorresponding to a movie titled “SECOND MOVIE.” Further, for purposes ofdiscussion, suppose SECOND MOVIE content includes a main videocomponent, a main audio component, a Spanish audio component, a subtitlecomponent, scene description metadata, a targeted video 1 component, atargeted audio 1 component, a camera close up video 1 component and acamera close up video 2 component, for example as discussed above withreference to Table 1. In this example, presume that PMP 206 indicatesthat synchronizing all the components of SECOND MOVIE will take 15minutes and will require 12 gigabytes of storage within PMP 206. At thatpoint, the user may determine that 15 minutes is too long a wait.Similarly, PMP 206 may provide an indication to user that memory portion406 does not have 12 gigabytes of free storage with which it maydownload all the components of SECOND MOVIE.

If the parameters for synchronization are met, PMP 206 downloads thecontent from CPE 204 (S618). For example, suppose that PMP 206 indicatesthat synchronizing all the components of SECOND MOVIE will take 15minutes and will require 12 gigabytes of storage within PMP 206.Further, suppose that the user does not mind waiting 15 minutes and thatmemory portion 406 of PMP 206 has 12 gigabytes of free storage withwhich it may download all of the components of SECOND MOVIE. In such acase, in one embodiment, processing portion 404 instructs communicationportion 402 to request content from CPE 204 by way of signal 416. CPE204 then provides the requested MOVIE content by way of signal 414. Inthe event the provided content is encrypted, security portion 408decrypts the content in accordance with the IP rights associated withthe content as provided by service provider. The decrypted content isthen provided to parsing portion 410. At this point, processing portion404 instructs parsing portion 410 to separate MOVIE content into itscomponents.

If the parameters for synchronization are not met, components of thecontent currently residing in PMP are deleted (S616). In an exampleembodiment, the counters associated with different components of MOVIEcontent are checked and the components that have the lowest count aredeleted from memory 406 of PMP 206. If not enough memory has been freed,the components of MOVIE CONTENT with the next lowest counts are deleted.The process of deleting the components of content with the lowest countsis repeated until the parameters for synchronization are met.

Then, PMP 206 downloads the content from CPE 204 (S618) and the processfinishes (S620). In this example, the SECOND MOVIE content will bedownloaded into PMP 206.

The example system and methods described above with reference to FIG. 6manage media content between CPE 204 and PMP 206 by removing the leastused content components within PMP 206 to free memory within PMP 206.This enables PMP 206 to download additional content that otherwise wouldnot have fit within memory 406 of PMP 206.

Another example system and method in accordance with aspects of thepresent invention include a combination of the example method discussedabove with reference to FIG. 5 and the example method discussed abovewith reference to FIG. 6. In particular, if the memory of a PMP hasinsufficient space to transfer all the desired content from a CPE, somecomponents of the desired content may not transferred from the memory ofthe CPE and some of the components of content within the PMP may bedeleted.

In another example method, PMP 206 uses user preferences developedviewing MOVIE CONTENT stored in memory 406 of PMP 206 to remove somecomponents of additional movie content to be transferred from memory 306of CPE 204. Such an example method will be described with reference toFIG. 7.

FIG. 7 illustrates an example method 700 for PMP 206 to develop userpreferences and download new content from CPE 204 in accordance with anaspect of the present invention.

Method 700 starts (S702) and PMP 204 obtains media content from CPE 204(S704). In one embodiment, processing portion 404 instructscommunication portion 402 to request content from CPE 204 by way ofsignal 416. CPE 204 then provides the requested content by way of signal414. In the event the provided content is encrypted, security portion408 decrypts the content in accordance with the IP rights associatedwith the content as provided by service provider. The decrypted contentis then provided to parsing portion 410.

The media content is then parsed into separate components, in a mannersimilar to that described above with reference to step S506 of method500 (S706). For purposes of discussion, presume that PMP 206 downloadsmovie content corresponding to a movie titled “MOVIE.” Further, forpurposes of discussion, suppose MOVIE content includes a main videocomponent, a main audio component, a Spanish audio component, a subtitlecomponent, scene description metadata, a targeted video 1 component, atargeted audio 1 component, a camera close up video 1 component and acamera close up video 2 component, for example as discussed above withreference to Table 1. At this point, processing portion 404 instructsparsing portion 410 to separate MOVIE content into its components.

A user may then play portions of content on PMP 206 (S708). As mentionedabove, a user may access components of MOVIE content for playback, forexample on a TV (not shown).

The portions of the content are then incremented and/or decremented in amanner similar to step S510 discussed above with reference to method 500(S710). In one embodiment, counting portion 412 increments countersassociated with the portions of the content that are played anddecrements the counters associated with the portions of the content thatare not played. In another embodiment, counting portion 412 incrementscounters associated with the portions of the content that are played anddoes not change the counters associated with the portions of the contentthat are not played.

In another embodiment of the present invention, PMP 206 may periodicallytransmit the counters associated with MOVIE in memory 406 of PMP 206 toCPE 204. CPE 204 may use the transmitted counters to learn preferencesof PMP 206 and accordingly make determinations of which portions ofcontent should be transmitted during future media downloads to PMP 206.This allows PMP 206 and CPE 204 to independently make decisions formemory management.

It is then determined whether additional content is to be synchronizedonto PMP 206 from CPE 204 (S712). For example, the user may want to copysecond content.

If a user is not currently trying to acquire additional content, thenthe person may be able to continue to play portions of the contentcurrently on PMP 206 (S708).

If a user is attempting to acquire additional content, it is thendetermined whether there are sufficient parameters for content transfer(S714). Non-limiting examples of synchronization parameters include timerequired for synchronization and memory available on PMP 206. Forexample, for purposes of discussion, presume that user want tosynchronize, from CPE 204 onto PMP 206, another movie contentcorresponding to a movie titled “SECOND MOVIE.” Further, for purposes ofdiscussion, suppose SECOND MOVIE content includes a main videocomponent, a main audio component, a Spanish audio component, a subtitlecomponent, scene description metadata, a targeted video 1 component, atargeted audio 1 component, a camera close up video 1 component and acamera close up video 2 component, for example as discussed above withreference to Table 1. In this example, presume that PMP 206 indicatesthat synchronizing all the components of SECOND MOVIE will take 15minutes and will require 12 gigabytes of storage within PMP 206. At thatpoint, the user may determine that 15 minutes is too long a wait.Similarly, PMP 206 may provide an indication to user that memory portion406 does not have 12 gigabytes of free storage with which it maydownload all the components of SECOND MOVIE.

If the parameters for synchronization are met, PMP 206 downloads thecontent from CPE 204 (S718). For example, suppose that PMP 206 indicatesthat synchronizing all the components of SECOND MOVIE will take 15minutes and will require 12 gigabytes of storage within PMP 206.Further, suppose that the user does not mind waiting 15 minutes and thatmemory portion 406 of PMP 206 has 12 gigabytes of free storage withwhich it may download all of the components of SECOND MOVIE. In such acase, in one embodiment, processing portion 404 instructs communicationportion 402 to request content from CPE 204 by way of signal 416. CPE204 then provides the requested MOVIE content by way of signal 414. Inthe event the provided content is encrypted, security portion 408decrypts the content in accordance with the IP rights associated withthe content as provided by service provider. The decrypted content isthen provided to parsing portion 410. At this point, processing portion404 instructs parsing portion 410 to separate MOVIE content into itscomponents.

The main advantage of this process of memory management on PMP 206 isefficient storage management of PMP 206, without user intervention. Withthe example methods described above, PMP 206 is capable of managingmemory when transferring media content from CPE 204 to PMP 206 withoutprompting the user for more input even if there is not enough availablememory of PMP 206.

If the parameters for synchronization are not met, components of thecontent to be transferred are not transferred during synchronization(S716). In an example embodiment, the counters associated with differentcomponents of MOVIE content are checked and the components that have thelowest count are used to mark the components of SECOND MOVIE not totransfer from CPE 204 to PMP 206. If not enough memory has been freed,the components of SECOND MOVIE with the next lowest counts are markednot to be transferred. The process of marking the components of contentwith the lowest counts is repeated until the parameters forsynchronization are met.

In another example embodiment, the counters associated with differentcomponents of MOVIE content are checked and only the components thathave the highest count are used to mark the components of SECOND MOVIEto transfer from CPE 204 to PMP 206.

Then, PMP 206 downloads the content from CPE 204 (S718) and the processfinishes (S720). In this example, the SECOND MOVIE content will bedownloaded into PMP 206.

The foregoing description of various preferred embodiments of theinvention have been presented for purposes of illustration anddescription. It is not intended to be exhaustive or to limit theinvention to the precise forms disclosed, and obviously manymodifications and variations are possible in light of the aboveteaching. The example embodiments, as described above, were chosen anddescribed in order to best explain the principles of the invention andits practical application to thereby enable others skilled in the art tobest utilize the invention in various embodiments and with variousmodifications as are suited to the particular use contemplated. It isintended that the scope of the invention be defined by the claimsappended hereto.

1. A method for synchronizing media content, the method comprising:receiving a first media content item; parsing, using a hardwareprocessor, the first media content item into a first plurality ofcontent components; associating a counter with each of the firstplurality of content components; receiving a second media content item;parsing the second media content item into a second plurality of contentcomponents; receiving a request to transfer the second media contentitem to a media device; determining values of each of the countersassociated with the first plurality of content components; determining asubset of the second plurality of content components to be transferredto the media device based on the values of each of the countersassociated with the first plurality of content components; andtransmitting the subset of the second plurality of content components tothe media device.
 2. The method of claim 1, further comprisinginhibiting one or more of the second plurality of content componentsother than content components included in the subset of the secondplurality of content components from being transmitted to the mediadevice.
 3. The method of claim 1, wherein the first plurality of contentcomponents and the second plurality of content components include avideo component, an audio component, and a subtitle component.
 4. Themethod of claim 3, wherein the audio component comprises a first audiocomponent in a first language and a second audio component in a secondlanguage.
 5. The method of claim 3, wherein the subtitle componentcomprises a first subtitle component in a first language and a secondsubtitle component in a second language.
 6. The method of claim 1,further comprising: determining that at least one content component ofthe first plurality of content components is being played back;incrementing a value of the counter associated with the at least onecontent component; and decrementing values of the counters associatedwith the first plurality of content components that are not being playedback, wherein the values of each of the counters associated with thefirst plurality of content components are determined based on theincremented values and the decremented values.
 7. The method of claim 1,further comprising: determining that at least one content component ofthe first plurality of content components is being played back; andincrementing a value of the counter associated with the at least onecontent component, wherein the values of each of the counters associatedwith the first plurality of content components are determined based onthe incremented values.
 8. The method of claim 1, further comprisingcomparing the determined values of the plurality of the countersassociated with the first plurality of content components to asynchronization parameter, wherein the subset of the second plurality ofcontent components is determined based on the comparison.
 9. The methodof claim 8, further comprising removing at least one of the contentcomponents from inclusion in the subset of the second plurality ofcontent components based on the comparison.
 10. The method of claim 1,further comprising ranking the counters associated with the firstplurality of content components based on the associated values, whereinthe subset of the second plurality of content components is determinedbased on the ranking.
 11. A method for synchronizing media content, themethod comprising: receiving a media content item; parsing, using ahardware processor, the media content item into a plurality of contentcomponents; associating counters with each of the plurality of contentcomponents, wherein a value of a counter associated with a contentcomponent is incremented in response to the content component beingplayed back; determining whether a media device meets a synchronizationparameter in response to receiving a request to transfer the mediacontent item to the media device, wherein the media device is associatedwith a device containing the hardware processor over a communicationsnetwork; removing, based on the associated counters, at least onecontent component from the plurality of content components fortransmission to the media device in response to determining that thesynchronization parameter is not met, wherein the value of the counterassociated with the at least one content component does not meet athreshold value; repeating the removing until the synchronizationparameter is met; and transmitting a subset of the plurality of contentcomponents to the media device in response to determining that thesynchronization parameter is met.
 12. The method of claim 11, furthercomprising ranking the counters associated with the plurality of contentcomponents based on the associated values, wherein the at least onecontent component is removed in response to having the lowest ranking ofthe ranked counters.
 13. A system for synchronizing media content, thesystem comprising: a hardware processor that is configured to: receive afirst media content item; parse the first media content item into afirst plurality of content components; associate a counter with each ofthe first plurality of content components; receive a second mediacontent item; parse the second media content item into a secondplurality of content components; receive a request to transfer thesecond media content item to a media device; determine values of each ofthe counters associated with the first plurality of content components;determine a subset of the second plurality of content components to betransferred to the media device based on the values of each of thecounters associated with the first plurality of content components; andtransmit the subset of the second plurality of content components to themedia device.
 14. The system of claim 13, wherein the hardware processoris further configured to inhibit one or more of the second plurality ofcontent components other than content components included in the subsetof the second plurality of content components from being transmitted tothe media device.
 15. The system of claim 13, wherein the firstplurality of content components and the second plurality of contentcomponents include a video component, an audio component, and a subtitlecomponent.
 16. The system of claim 15, wherein the audio componentcomprises a first audio component in a first language and a second audiocomponent in a second language.
 17. The system of claim 15, wherein thesubtitle component comprises a first subtitle component in a firstlanguage and a second subtitle component in a second language.
 18. Thesystem of claim 13, wherein the hardware processor is further configuredto: determine that at least one content component of the first pluralityof content components is being played back; increment a value of thecounter associated with the at least one content component; anddecrement values of the counters associated with the first plurality ofcontent components that are not being played back, wherein the values ofeach of the counters associated with the first plurality of contentcomponents are determined based on the incremented values and thedecremented values.
 19. The system of claim 13, wherein the hardwareprocessor is further configured to: determine that at least one contentcomponent of the first plurality of content components is being playedback; and increment a value of the counter associated with the at leastone content component, wherein the values of each of the countersassociated with the first plurality of content components are determinedbased on the incremented values.
 20. The system of claim 13, wherein thehardware processor is further configured to compare the determinedvalues of the plurality of the counters associated with the firstplurality of content components to a synchronization parameter, whereinthe subset of the second plurality of content components is determinedbased on the comparison.
 21. The system of claim 20, wherein thehardware processor is further configured to remove at least one of thecontent components from inclusion in the subset of the second pluralityof content components based on the comparison.
 22. The system of claim13, wherein the hardware processor is further configured to rank thecounters associated with the first plurality of content components basedon the associated values, wherein the subset of the second plurality ofcontent components is determined based on the ranking.
 23. A system forsynchronizing media content, the system comprising: a hardware processorthat is configured to: receive a media content item; parse the mediacontent item into a plurality of content components; associate counterswith each of the plurality of content components, wherein a value of acounter associated with a content component is incremented in responseto the content component being played back; determine whether a mediadevice meets a synchronization parameter in response to receiving arequest to transfer the media content item to the media device, whereinthe media device is associated with a device containing the hardwareprocessor over a communications network; remove, based on the associatedcounters, at least one content component from the plurality of contentcomponents for transmission to the media device in response todetermining that the synchronization parameter is not met, wherein thevalue of the counter associated with the at least one content componentdoes not meet a threshold value; repeat the removing until thesynchronization parameter is met; and transmit a subset of the pluralityof content components to the media device in response to determiningthat the synchronization parameter is met.
 24. The system of claim 23,wherein the hardware processor is further configured to rank thecounters associated with the plurality of content components based onthe associated values, wherein the at least one content component isremoved in response to having the lowest ranking of the ranked counters.